/**
 * 视频URL处理工具函数
 */

/**
 * 处理视频URL，将相对路径转换为完整的URL
 * @param {string} url - 原始视频URL
 * @returns {string} 处理后的完整URL
 */
export function processVideoUrl(url: string) {
  if (!url) return ''
  
  // 检查是否为完整的URL（包含协议）
  if (url.startsWith('http://') || url.startsWith('https://') || url.startsWith('//')) {
    return url
  }
  
  // 如果不是完整URL，添加后端静态内容前缀
  // 使用静态文件基础URL，如果没有则从API URL中提取主机部分
  let baseUrl = import.meta.env.VITE_STATIC_BASE_URL
  if (!baseUrl) {
    const apiUrl = import.meta.env.VITE_API_BASE_URL || 'http://localhost:806/api'
    // 从API URL中提取主机部分（去掉/api后缀）
    baseUrl = apiUrl.replace('/api', '') + '/public'
  }
  
  // 确保URL以/开头
  const normalizedUrl = url.startsWith('/') ? url : `/${url}`
  
  return `${baseUrl}${normalizedUrl}`
}

/**
 * 批量处理视频数据中的URL
 * @param {Array} videos - 视频数据数组
 * @returns {Array} 处理后的视频数据数组
 */
export function processVideosUrls<T extends { url: string }>(videos: T[]): T[] {
  return videos.map(video => ({
    ...video,
    url: processVideoUrl(video.url)
  }))
}